//
//  CZUser.swift
//  weibo
//
//  Created by Ken on 16/3/26.
//  Copyright © 2016年 Ken. All rights reserved.
//

import UIKit

class CZUser: NSObject {
    
    /// 用户UID
    var id: Int64 = 0
    
    /// 用户头像地址（中图），50×50像素
    var profile_image_url: String?
    
    /// 用户昵称
    var screen_name: String?
    
    /// 会员等级 1-6
    var mbrank: Int = 0 {
        didSet{
            // 当 kvc 给 mbrank 赋值的时候,我们给 mbrankImage 赋值
            if mbrank > 0 && mbrank <= 6 {
                mbrankImage = UIImage(named: "common_icon_membership_level\(mbrank)")
            } else {
                mbrankImage = nil
            }
        }
    }
    
    /// mbrankImage,会员等级对应的图片
    var mbrankImage: UIImage?
    
    /// verified_type 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
    var verified_type: Int = -1 {
        didSet{
            switch verified_type {
            case 0:
            verifiedTypeImage = UIImage(named: "avatar_vip")
            case 2,3,5:
            verifiedTypeImage = UIImage(named: "avatar_enterprise_vip")
            case 220:
            verifiedTypeImage = UIImage(named: "avatar_grassroot")
            default:
            verifiedTypeImage = nil
            }
        }
    }
    
    /// 认证图片
    var verifiedTypeImage: UIImage?
    
    /// 字典转模型
    init(dict: [String: AnyObject]) {
        super.init()    // 创建对象
        
        // 对象创建完成,调用对象的KVC
        setValuesForKeysWithDictionary(dict)
    }
    
    /// 字典里面的key在模型中找不到对应的属性
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    /// 对象输出
    override var description: String {
        // 只读计算型属性
        let keys = ["id", "profile_image_url", "screen_name", "mbrank", "verified_type"]
        
        return "\n\t: \(dictionaryWithValuesForKeys(keys).description)"
    }
}
